function ajax(method, url, callBack, data) {
    let xhr = new XMLHttpRequest();
    let result; // 获取异步数据

    // 处理get请求, 参数放置请求头
    let str = "?";
    // 如果有传入数据就进行处理
    if (data) {
        for (let key in data) {
            str += `${key}=${data[key]}&`;
        };
    }
    // ?name=hy&id=1

    // 判断是否是get请求
    if (method.toUpperCase() == "GET") {
        xhr.open(method, url + str.slice(0, -1));
        xhr.send();
    } else {
        // post及其他请求
        xhr.open(method, url);
        xhr.setRequestHeader("Content-Type", "application/json");
        xhr.send(JSON.stringify(data));
    }

    xhr.addEventListener("readystatechange", function() {
        if (xhr.readyState == 4) {
            if (xhr.status == 200) {
                result = JSON.parse(xhr.responseText);
            } else {
                result = JSON.parse(xhr.responseText);
            }
            // 将结果通过函数的参数返回出去
            callBack(result);
        }
    });
}